1. Field of the Invention
Embodiments of the present invention relate to semiconductor memory devices. More particularly, embodiments of the invention relate to NOR flash memory devices adapted for use with a bit scan method and related programming method(s).
This application claims priority to Korean Patent Application No. 2005-30807, filed on Apr. 13, 2005, the subject matter of which is hereby incorporated by reference in its entirety.
2. Description of Related Art
Semiconductor memory devices are capable of writing (i.e., storing) data into memory, and thereafter reading the stored data from memory, as needed. Generally, semiconductor memory devices may be classified as random access memories (RAMs) and read only memories (ROMs). RAMs are volatile semiconductor memory devices, so a RAM will lose its stored data when power is not supplied to the device. ROMs, however, are non-volatile semiconductor memory devices, so a ROM will maintain its stored data even when power is not supplied to the device. RAMs include dynamic RAM (DRAM) and static RAM (SRAM), and ROMs include programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), and flash memory.
Flash memory devices provide rapid input and output of data with low power consumption, and as such, are particularly well suited for use in mobile equipment such as digital cameras, cellular phones, and personal digital assistants (PDAs). Flash memory may be categorized as NAND flash memory and NOR flash memory. NAND flash memory devices are typically used to store data in USB storage devices and MP3 players. On the other hand, NOR flash memory devices are typically used to store programming code in mobile telecommunication terminals and similar devices implementing high-speed data processing.
In recent years, NOR flash memory devices have been developed which store multiple bits of data in each memory cell. A memory cell storing multiple data bits is commonly referred to as a multi-level cell (MLC). An MLC storing 2-bit data, for example, may store any one of four data values “11,” “10,” “01,” and “00,” in accordance with a threshold voltage distribution.
Conventional NOR flash memory devices perform a program operation using an incremental step pulse programming (ISPP) scheme. A NOR flash memory device performing a program operation using an ISPP scheme uses a bit scan method in order to enhance programming speed. The bit scan method comprises repeatedly detecting bit groups within the input data and, for each bit group, programming all of the cells that correspond to a bit in the bit group simultaneously. Each bit in a bit group has a data value of “0.” The bit scan method makes it possible to enhance programming speed and shorten the programming time of a NOR flash memory device.
However, the programming time for a conventional NOR flash memory device as programmed using an ISPP scheme with a bit scan method is less than optimal. The programming time for conventional NOR flash memory devices programmed in this manner is less than optimal because the maximum number of bits in a bit group when a first step voltage is applied to a word line is equal to the maximum number of bits in a bit group when each one of a number of subsequent step voltages is applied.
One example of the less than optimal programming time performance associated with conventional NOR flash memory devices programmed according to the foregoing method will now be described. A programming operation for programming a previously erased MLC to the threshold voltage corresponding to a data value “01” using an ISPP scheme will now be described.
The programming operation begins with the application of a first step voltage (e.g., 4.2V) to a word line. During each programming interval (e.g., a time period of 1 microsecond), a bit group comprising a number of bits having a data value of “0,” wherein the number of bits is, at most, equal to a scan bit number, is detected. All of the MLCs corresponding to bit(s) in the bit group are programmed simultaneously. A verify operation is then performed to verify whether each one of the programmed MLCs has reached a desired threshold voltage. If an MLC has not reached the desired threshold voltage, a second step voltage (e.g., 4.35V) is applied to the word line. The second step voltage is applied during another programming interval (e.g., another time period of 0.5 microsecond). Here again, a bit group comprising a number of bits having a data value of “0,” wherein the number of bits is, at most, equal to the scan bit number, is detected, and all of the memory cells that correspond to a bit of the bit group are programmed simultaneously. This sequence of steps is repeated in the program operation, wherein each successive step voltage is greater than the preceding step voltage, until each MLC reaches the desired threshold voltage level.
As can be seen from the foregoing example, the duration of the programming operation for the conventional NOR flash memory device is determined by the scan bit number. This number does not change, but remains fixed throughout the program operation.